// 例子28

{
    const foo = 'bar';
    const baz = {
        foo
    };
    console.log(baz); // {foo: "bar"}

    {
        // 等同于
        const baz = {
            foo: foo
        };

        console.log(baz); // {foo: "bar"}
    }
}

console.log('----------------------------------');

{
    {
        function f(x, y) {
            return {
                x,
                y
            };
        }
        console.log(f(1, 2)); // {x: 1, y: 2}
    }

    {
        // 等同于
        function f(x, y) {
            return {
                x: x,
                y: y
            };
        }
        console.log(f(1, 2)); // {x: 1, y: 2}
    }

}

console.log('----------------------------------');

{
    {
        const o = {
            sayHello() {
                return "Hello!";
            }
        }

        console.log(o);
    }


    {
        // 等同于
        const o = {
            sayHello: function () {
                return "Hello!";
            }
        }

        console.log(o);
    }
}

console.log('----------------------------------');

const cart = {
    _wheels: 4,

    get wheels() {
        return this._wheels;
    },

    set wheels(value) {
        if (value < this._wheels) {
            throw new Error('数值太小了！');
        }
        this._wheels = value;
    }
}

console.log(cart.wheels); // 4
cart.wheels = 5;
console.log(cart.wheels); // 5